#define rand	pan_rand
#if defined(HAS_CODE) && defined(VERBOSE)
	cpu_printf("Pr: %d Tr: %d\n", II, t->forw);
#endif
	switch (t->forw) {
	default: Uerror("bad forward move");
	case 0:	/* if without executable clauses */
		continue;
	case 1: /* generic 'goto' or 'skip' */
		IfNotBlocked
		_m = 3; goto P999;
	case 2: /* generic 'else' */
		IfNotBlocked
		if (trpt->o_pm&1) continue;
		_m = 3; goto P999;

		 /* PROC :init: */
	case 3: /* STATE 7 - line 155 "complexTraingateClosedloop.pml" - [D_STEP] */
		IfNotBlocked
		sv_save();
		reached[5][7] = 1;
		reached[5][t->st] = 1;
		reached[5][tt] = 1;
S_126_0: /* 2 */
		now.sT = 4;
#ifdef VAR_RANGES
		logval("sT", now.sT);
#endif
		;
S_127_0: /* 2 */
		now.sG = 7;
#ifdef VAR_RANGES
		logval("sG", now.sG);
#endif
		;
S_128_0: /* 2 */
		now.sL = 10;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_129_0: /* 2 */
		now.gPulse = 0;
#ifdef VAR_RANGES
		logval("gPulse", ((int)now.gPulse));
#endif
		;
S_130_0: /* 2 */
		now.rPulse = 1;
#ifdef VAR_RANGES
		logval("rPulse", ((int)now.rPulse));
#endif
		;
S_131_0: /* 2 */
		now.dPulse = 0;
#ifdef VAR_RANGES
		logval("dPulse", ((int)now.dPulse));
#endif
		;
		goto S_137_0;
S_137_0: /* 1 */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 4: /* STATE 8 - line 157 "complexTraingateClosedloop.pml" - [(run GATE())] (0:0:0 - 1) */
		IfNotBlocked
		reached[5][8] = 1;
		if (!(addproc(0)))
			continue;
		_m = 3; goto P999; /* 0 */
	case 5: /* STATE 9 - line 157 "complexTraingateClosedloop.pml" - [(run LIGHT())] (0:0:0 - 1) */
		IfNotBlocked
		reached[5][9] = 1;
		if (!(addproc(2)))
			continue;
		_m = 3; goto P999; /* 0 */
	case 6: /* STATE 10 - line 157 "complexTraingateClosedloop.pml" - [(run TRAIN())] (0:0:0 - 1) */
		IfNotBlocked
		reached[5][10] = 1;
		if (!(addproc(1)))
			continue;
		_m = 3; goto P999; /* 0 */
	case 7: /* STATE 11 - line 157 "complexTraingateClosedloop.pml" - [(run MACHINE())] (0:0:0 - 1) */
		IfNotBlocked
		reached[5][11] = 1;
		if (!(addproc(4)))
			continue;
		_m = 3; goto P999; /* 0 */
	case 8: /* STATE 13 - line 158 "complexTraingateClosedloop.pml" - [-end-] (0:0:0 - 1) */
		IfNotBlocked
		reached[5][13] = 1;
		if (!delproc(1, II)) continue;
		_m = 3; goto P999; /* 0 */

		 /* PROC MACHINE */
	case 9: /* STATE 5 - line 140 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((now.sT==1)&&(now.sG==7))))
			continue;
		sv_save();
		reached[4][5] = 1;
		reached[4][t->st] = 1;
		reached[4][tt] = 1;
S_097_0: /* 2 */
		if (!(((now.sT==1)&&(now.sG==7))))
			Uerror("block in step seq");
S_098_0: /* 2 */
		now.dPulse = 0;
#ifdef VAR_RANGES
		logval("dPulse", ((int)now.dPulse));
#endif
		;
S_099_0: /* 2 */
		now.gPulse = 0;
#ifdef VAR_RANGES
		logval("gPulse", ((int)now.gPulse));
#endif
		;
S_100_0: /* 2 */
		now.rPulse = 1;
#ifdef VAR_RANGES
		logval("rPulse", ((int)now.rPulse));
#endif
		;
		goto S_123_0;
S_123_0: /* 1 */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 10: /* STATE 10 - line 142 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((now.sT==1)&&(now.sG==6))))
			continue;
		sv_save();
		reached[4][10] = 1;
		reached[4][t->st] = 1;
		reached[4][tt] = 1;
S_102_0: /* 2 */
		if (!(((now.sT==1)&&(now.sG==6))))
			Uerror("block in step seq");
S_103_0: /* 2 */
		now.dPulse = 0;
#ifdef VAR_RANGES
		logval("dPulse", ((int)now.dPulse));
#endif
		;
S_104_0: /* 2 */
		now.gPulse = 0;
#ifdef VAR_RANGES
		logval("gPulse", ((int)now.gPulse));
#endif
		;
S_105_0: /* 2 */
		now.rPulse = 1;
#ifdef VAR_RANGES
		logval("rPulse", ((int)now.rPulse));
#endif
		;
		goto S_123_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 11: /* STATE 15 - line 144 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((now.sT==3)&&(now.sG==7))))
			continue;
		sv_save();
		reached[4][15] = 1;
		reached[4][t->st] = 1;
		reached[4][tt] = 1;
S_107_0: /* 2 */
		if (!(((now.sT==3)&&(now.sG==7))))
			Uerror("block in step seq");
S_108_0: /* 2 */
		now.dPulse = 1;
#ifdef VAR_RANGES
		logval("dPulse", ((int)now.dPulse));
#endif
		;
S_109_0: /* 2 */
		now.gPulse = 0;
#ifdef VAR_RANGES
		logval("gPulse", ((int)now.gPulse));
#endif
		;
S_110_0: /* 2 */
		now.rPulse = 1;
#ifdef VAR_RANGES
		logval("rPulse", ((int)now.rPulse));
#endif
		;
		goto S_123_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 12: /* STATE 20 - line 146 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((now.sT==3)&&(now.sG==6))))
			continue;
		sv_save();
		reached[4][20] = 1;
		reached[4][t->st] = 1;
		reached[4][tt] = 1;
S_112_0: /* 2 */
		if (!(((now.sT==3)&&(now.sG==6))))
			Uerror("block in step seq");
S_113_0: /* 2 */
		now.dPulse = 1;
#ifdef VAR_RANGES
		logval("dPulse", ((int)now.dPulse));
#endif
		;
S_114_0: /* 2 */
		now.gPulse = 1;
#ifdef VAR_RANGES
		logval("gPulse", ((int)now.gPulse));
#endif
		;
S_115_0: /* 2 */
		now.rPulse = 0;
#ifdef VAR_RANGES
		logval("rPulse", ((int)now.rPulse));
#endif
		;
		goto S_123_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 13: /* STATE 25 - line 148 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((now.sT==2)&&(now.sG==6))))
			continue;
		sv_save();
		reached[4][25] = 1;
		reached[4][t->st] = 1;
		reached[4][tt] = 1;
S_117_0: /* 2 */
		if (!(((now.sT==2)&&(now.sG==6))))
			Uerror("block in step seq");
S_118_0: /* 2 */
		now.dPulse = 1;
#ifdef VAR_RANGES
		logval("dPulse", ((int)now.dPulse));
#endif
		;
S_119_0: /* 2 */
		now.gPulse = 1;
#ifdef VAR_RANGES
		logval("gPulse", ((int)now.gPulse));
#endif
		;
S_120_0: /* 2 */
		now.rPulse = 0;
#ifdef VAR_RANGES
		logval("rPulse", ((int)now.rPulse));
#endif
		;
		goto S_123_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 14: /* STATE 29 - line 151 "complexTraingateClosedloop.pml" - [-end-] (0:0:0 - 1) */
		IfNotBlocked
		reached[4][29] = 1;
		if (!delproc(1, II)) continue;
		_m = 3; goto P999; /* 0 */

		 /* PROC TIME */
	case 15: /* STATE 3 - line 127 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (now.time==2)))
			continue;
		sv_save();
		reached[3][3] = 1;
		reached[3][t->st] = 1;
		reached[3][tt] = 1;
S_090_0: /* 2 */
		if (!((now.time==2)))
			Uerror("block in step seq");
S_091_0: /* 2 */
		now.time = 0;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_094_0;
S_094_0: /* 1 */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 16: /* STATE 7 - line 129 "complexTraingateClosedloop.pml" - [-end-] (0:0:0 - 1) */
		IfNotBlocked
		reached[3][7] = 1;
		if (!delproc(1, II)) continue;
		_m = 3; goto P999; /* 0 */

		 /* PROC LIGHT */
	case 17: /* STATE 4 - line 101 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((((int)now.gPulse)&&((int)now.rPulse))&&(now.sL==11))))
			continue;
		sv_save();
		reached[2][4] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_038_0: /* 2 */
		if (!(((((int)now.gPulse)&&((int)now.rPulse))&&(now.sL==11))))
			Uerror("block in step seq");
S_039_0: /* 2 */
		now.sL = 9;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_040_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0;
S_087_0: /* 1 */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 18: /* STATE 8 - line 102 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (( !(((int)now.gPulse))&&((int)now.rPulse))&&(now.sL==11))))
			continue;
		sv_save();
		reached[2][8] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_042_0: /* 2 */
		if (!((( !(((int)now.gPulse))&&((int)now.rPulse))&&(now.sL==11))))
			Uerror("block in step seq");
S_043_0: /* 2 */
		now.sL = 10;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_044_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 19: /* STATE 12 - line 103 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (( !(((int)now.gPulse))&& !(((int)now.rPulse)))&&(now.sL==11))))
			continue;
		sv_save();
		reached[2][12] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_046_0: /* 2 */
		if (!((( !(((int)now.gPulse))&& !(((int)now.rPulse)))&&(now.sL==11))))
			Uerror("block in step seq");
S_047_0: /* 2 */
		now.sL = 8;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_048_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 20: /* STATE 16 - line 105 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((((int)now.gPulse)&& !(((int)now.rPulse)))&&(now.sL==10))))
			continue;
		sv_save();
		reached[2][16] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_050_0: /* 2 */
		if (!(((((int)now.gPulse)&& !(((int)now.rPulse)))&&(now.sL==10))))
			Uerror("block in step seq");
S_051_0: /* 2 */
		now.sL = 11;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_052_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 21: /* STATE 20 - line 106 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((((int)now.gPulse)&&((int)now.rPulse))&&(now.sL==10))))
			continue;
		sv_save();
		reached[2][20] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_054_0: /* 2 */
		if (!(((((int)now.gPulse)&&((int)now.rPulse))&&(now.sL==10))))
			Uerror("block in step seq");
S_055_0: /* 2 */
		now.sL = 9;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_056_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 22: /* STATE 24 - line 107 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (( !(((int)now.gPulse))&& !(((int)now.rPulse)))&&(now.sL==10))))
			continue;
		sv_save();
		reached[2][24] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_058_0: /* 2 */
		if (!((( !(((int)now.gPulse))&& !(((int)now.rPulse)))&&(now.sL==10))))
			Uerror("block in step seq");
S_059_0: /* 2 */
		now.sL = 8;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_060_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 23: /* STATE 28 - line 110 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((((int)now.gPulse)&& !(((int)now.rPulse)))&&(now.sL==9))))
			continue;
		sv_save();
		reached[2][28] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_062_0: /* 2 */
		if (!(((((int)now.gPulse)&& !(((int)now.rPulse)))&&(now.sL==9))))
			Uerror("block in step seq");
S_063_0: /* 2 */
		now.sL = 11;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_064_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 24: /* STATE 32 - line 111 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (( !(((int)now.gPulse))&&((int)now.rPulse))&&(now.sL==9))))
			continue;
		sv_save();
		reached[2][32] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_066_0: /* 2 */
		if (!((( !(((int)now.gPulse))&&((int)now.rPulse))&&(now.sL==9))))
			Uerror("block in step seq");
S_067_0: /* 2 */
		now.sL = 10;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_068_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 25: /* STATE 36 - line 112 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (( !(((int)now.gPulse))&& !(((int)now.rPulse)))&&(now.sL==9))))
			continue;
		sv_save();
		reached[2][36] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_070_0: /* 2 */
		if (!((( !(((int)now.gPulse))&& !(((int)now.rPulse)))&&(now.sL==9))))
			Uerror("block in step seq");
S_071_0: /* 2 */
		now.sL = 8;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_072_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 26: /* STATE 40 - line 115 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((((int)now.gPulse)&& !(((int)now.rPulse)))&&(now.sL==8))))
			continue;
		sv_save();
		reached[2][40] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_074_0: /* 2 */
		if (!(((((int)now.gPulse)&& !(((int)now.rPulse)))&&(now.sL==8))))
			Uerror("block in step seq");
S_075_0: /* 2 */
		now.sL = 11;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_076_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 27: /* STATE 44 - line 116 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((((int)now.gPulse)&&((int)now.rPulse))&&(now.sL==8))))
			continue;
		sv_save();
		reached[2][44] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_078_0: /* 2 */
		if (!(((((int)now.gPulse)&&((int)now.rPulse))&&(now.sL==8))))
			Uerror("block in step seq");
S_079_0: /* 2 */
		now.sL = 9;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_080_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 28: /* STATE 48 - line 117 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (( !(((int)now.gPulse))&&((int)now.rPulse))&&(now.sL==8))))
			continue;
		sv_save();
		reached[2][48] = 1;
		reached[2][t->st] = 1;
		reached[2][tt] = 1;
S_082_0: /* 2 */
		if (!((( !(((int)now.gPulse))&&((int)now.rPulse))&&(now.sL==8))))
			Uerror("block in step seq");
S_083_0: /* 2 */
		now.sL = 10;
#ifdef VAR_RANGES
		logval("sL", now.sL);
#endif
		;
S_084_0: /* 2 */
		now.time = 1;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_087_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 29: /* STATE 52 - line 119 "complexTraingateClosedloop.pml" - [-end-] (0:0:0 - 1) */
		IfNotBlocked
		reached[2][52] = 1;
		if (!delproc(1, II)) continue;
		_m = 3; goto P999; /* 0 */

		 /* PROC TRAIN */
	case 30: /* STATE 3 - line 75 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (now.sT==4)))
			continue;
		sv_save();
		reached[1][3] = 1;
		reached[1][t->st] = 1;
		reached[1][tt] = 1;
S_018_0: /* 2 */
		if (!((now.sT==4)))
			Uerror("block in step seq");
S_019_0: /* 2 */
		now.sT = 4;
#ifdef VAR_RANGES
		logval("sT", now.sT);
#endif
		;
		goto S_035_0;
S_035_0: /* 1 */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 31: /* STATE 6 - line 76 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (now.sT==4)))
			continue;
		sv_save();
		reached[1][6] = 1;
		reached[1][t->st] = 1;
		reached[1][tt] = 1;
S_021_0: /* 2 */
		if (!((now.sT==4)))
			Uerror("block in step seq");
S_022_0: /* 2 */
		now.sT = 3;
#ifdef VAR_RANGES
		logval("sT", now.sT);
#endif
		;
		goto S_035_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 32: /* STATE 9 - line 77 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (now.sT==2)))
			continue;
		sv_save();
		reached[1][9] = 1;
		reached[1][t->st] = 1;
		reached[1][tt] = 1;
S_024_0: /* 2 */
		if (!((now.sT==2)))
			Uerror("block in step seq");
S_025_0: /* 2 */
		now.sT = 1;
#ifdef VAR_RANGES
		logval("sT", now.sT);
#endif
		;
		goto S_035_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 33: /* STATE 13 - line 78 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((now.sT==1)&&(now.time==2))))
			continue;
		sv_save();
		reached[1][13] = 1;
		reached[1][t->st] = 1;
		reached[1][tt] = 1;
S_027_0: /* 2 */
		if (!(((now.sT==1)&&(now.time==2))))
			Uerror("block in step seq");
S_028_0: /* 2 */
		now.sT = 4;
#ifdef VAR_RANGES
		logval("sT", now.sT);
#endif
		;
S_029_0: /* 2 */
		if (!((now.time==0)))
			Uerror("block in step seq");
		goto S_035_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 34: /* STATE 16 - line 79 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((now.sT==3)&&(now.sL==11))))
			continue;
		sv_save();
		reached[1][16] = 1;
		reached[1][t->st] = 1;
		reached[1][tt] = 1;
S_031_0: /* 2 */
		if (!(((now.sT==3)&&(now.sL==11))))
			Uerror("block in step seq");
S_032_0: /* 2 */
		now.sT = 2;
#ifdef VAR_RANGES
		logval("sT", now.sT);
#endif
		;
		goto S_035_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 35: /* STATE 20 - line 86 "complexTraingateClosedloop.pml" - [-end-] (0:0:0 - 1) */
		IfNotBlocked
		reached[1][20] = 1;
		if (!delproc(1, II)) continue;
		_m = 3; goto P999; /* 0 */

		 /* PROC GATE */
	case 36: /* STATE 4 - line 61 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ((((int)now.dPulse)&&(now.sG==5))&&(now.time==1))))
			continue;
		sv_save();
		reached[0][4] = 1;
		reached[0][t->st] = 1;
		reached[0][tt] = 1;
S_000_0: /* 2 */
		if (!(((((int)now.dPulse)&&(now.sG==5))&&(now.time==1))))
			Uerror("block in step seq");
S_001_0: /* 2 */
		now.sG = 6;
#ifdef VAR_RANGES
		logval("sG", now.sG);
#endif
		;
S_002_0: /* 2 */
		now.time = 2;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_015_0;
S_015_0: /* 1 */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 37: /* STATE 7 - line 62 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (((int)now.dPulse)&&(now.sG==7))))
			continue;
		sv_save();
		reached[0][7] = 1;
		reached[0][t->st] = 1;
		reached[0][tt] = 1;
S_004_0: /* 2 */
		if (!((((int)now.dPulse)&&(now.sG==7))))
			Uerror("block in step seq");
S_005_0: /* 2 */
		now.sG = 5;
#ifdef VAR_RANGES
		logval("sG", now.sG);
#endif
		;
		goto S_015_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 38: /* STATE 11 - line 63 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && (( !(((int)now.dPulse))&&(now.sG==5))&&(now.time==1))))
			continue;
		sv_save();
		reached[0][11] = 1;
		reached[0][t->st] = 1;
		reached[0][tt] = 1;
S_007_0: /* 2 */
		if (!((( !(((int)now.dPulse))&&(now.sG==5))&&(now.time==1))))
			Uerror("block in step seq");
S_008_0: /* 2 */
		now.sG = 7;
#ifdef VAR_RANGES
		logval("sG", now.sG);
#endif
		;
S_009_0: /* 2 */
		now.time = 2;
#ifdef VAR_RANGES
		logval("time", now.time);
#endif
		;
		goto S_015_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 39: /* STATE 14 - line 64 "complexTraingateClosedloop.pml" - [D_STEP] */
		if (!(boq == -1 && ( !(((int)now.dPulse))&&(now.sG==6))))
			continue;
		sv_save();
		reached[0][14] = 1;
		reached[0][t->st] = 1;
		reached[0][tt] = 1;
S_011_0: /* 2 */
		if (!(( !(((int)now.dPulse))&&(now.sG==6))))
			Uerror("block in step seq");
S_012_0: /* 2 */
		now.sG = 5;
#ifdef VAR_RANGES
		logval("sG", now.sG);
#endif
		;
		goto S_015_0; /* ';' */

#if defined(C_States) && (HAS_TRACK==1)
		c_update((uchar *) &(now.c_state[0]));
#endif
		_m = 3; goto P999;

	case 40: /* STATE 18 - line 66 "complexTraingateClosedloop.pml" - [-end-] (0:0:0 - 1) */
		IfNotBlocked
		reached[0][18] = 1;
		if (!delproc(1, II)) continue;
		_m = 3; goto P999; /* 0 */
	case  _T5:	/* np_ */
		if (!((!(trpt->o_pm&4) && !(trpt->tau&128))))
			continue;
		/* else fall through */
	case  _T2:	/* true */
		_m = 3; goto P999;
#undef rand
	}

